home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / video / uvesafb.h < prev   
Encoding:
C/C++ Source or Header  |  2008-11-13  |  989 b   |  59 lines

  1. #ifndef _UVESAFB_H
  2. #define _UVESAFB_H
  3.  
  4. struct v86_regs {
  5.     __u32 ebx;
  6.     __u32 ecx;
  7.     __u32 edx;
  8.     __u32 esi;
  9.     __u32 edi;
  10.     __u32 ebp;
  11.     __u32 eax;
  12.     __u32 eip;
  13.     __u32 eflags;
  14.     __u32 esp;
  15.     __u16 cs;
  16.     __u16 ss;
  17.     __u16 es;
  18.     __u16 ds;
  19.     __u16 fs;
  20.     __u16 gs;
  21. };
  22.  
  23. /* Task flags */
  24. #define TF_VBEIB    0x01
  25. #define TF_BUF_ESDI    0x02
  26. #define TF_BUF_ESBX    0x04
  27. #define TF_BUF_RET    0x08
  28. #define TF_EXIT        0x10
  29.  
  30. struct uvesafb_task {
  31.     __u8 flags;
  32.     int buf_len;
  33.     struct v86_regs regs;
  34. };
  35.  
  36. /* Constants for the capabilities field
  37.  * in vbe_ib */
  38. #define VBE_CAP_CAN_SWITCH_DAC    0x01
  39. #define VBE_CAP_VGACOMPAT    0x02
  40.  
  41. /* The VBE Info Block */
  42. struct vbe_ib {
  43.     char  vbe_signature[4];
  44.     __u16 vbe_version;
  45.     __u32 oem_string_ptr;
  46.     __u32 capabilities;
  47.     __u32 mode_list_ptr;
  48.     __u16 total_memory;
  49.     __u16 oem_software_rev;
  50.     __u32 oem_vendor_name_ptr;
  51.     __u32 oem_product_name_ptr;
  52.     __u32 oem_product_rev_ptr;
  53.     __u8  reserved[222];
  54.     char  oem_data[256];
  55.     char  misc_data[512];
  56. } __attribute__ ((packed));
  57.  
  58. #endif /* _UVESAFB_H */
  59.